#####**********#*++***##***********#+*###**####**********************
###*#*********##*+++**#%*****++++++++*####******************++++++++*
#***##********####*##%%#***********+**##*************+++++++++++++==*
#****************##***+++*****************+++++++++++++++++++++++++=*
*****************#*=-===+*####******++++++++++++++++++++++++++++++++*
*****************+==-==+#**##*****************************++++++++++*
#*******************=+=+#***###*************++**********++++**+++=++*
#***************##**+==+*#######*+++++++++++++++++++++++++++++-++==+*
************+++*%**+++++*##%#**#++++++++++++++++++++++++++++++++++++*
*************++******++++*+%%**%*#*++=++++++++++++++++++++++++++++++*
*++**********************++##*#***%##**+==++++++++++++++++++++++++++*
***************#**######******++++++**++++====++++++++++++++++++++++*
***************####*****+++++++++++**+++++++++=====+++++++++++++++++*
***************##***********+++++*******++++++++++==--==++++++++++++*
***************##*****************+++*****+++++++++++++=---==+++++++*
***************###***************++++++******++++++++++++++==---==++*
**************####*************+++++*************+++++++++++++++==--+
**************####**********************************++++++++*****+++*
**************####**************************************************#
**************###************************************##*************#
**************##***************************************####*********#
**************##*****************************************######*****#
#############%%%%%#########################%%%%%%%%%%%%%%%%%%%%%%%%%%